package com.free.service;

import java.util.List;
import java.util.Map;

import com.free.entity.UserEntity;

/**
 * 
* @ClassName: UserService 
* @Description: TODO(用户service层) 
* @author wujie
* @email 602991693@qq.com 
* @date 2017年8月31日 上午10:15:30 
*
 */
public interface UserService {
	/**
	 * 
	* @Title: queryObject 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(根据用户id查找) 
	* @param @param userId
	* @param @return    设定文件 
	* @return UserEntity    返回类型 
	* @throws
	 */
	UserEntity queryObject(Long userId);
	/**
	 * 
	* @Title: queryList 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(根据相关条件进行查找并返回一个集合) 
	* @param @param map
	* @param @return    设定文件 
	* @return List<UserEntity>    返回类型 
	* @throws
	 */
	List<UserEntity> queryList(Map<String,Object> map);
	/**
	 * 
	* @Title: queryTotal 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(根据条件查找，并返回查找到的总数) 
	* @param @param map
	* @param @return    设定文件 
	* @return int    返回类型 
	* @throws
	 */
	int queryTotal(Map<String,Object> map);
	/**
	 * 
	* @Title: save 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(保存) 
	* @param @param mobile
	* @param @param password    设定文件 
	* @return void    返回类型 
	* @throws
	 */
	void save(String mobile,String password);
	/**
	 * 
	* @Title: update 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(更新) 
	* @param @param user    设定文件 
	* @return void    返回类型 
	* @throws
	 */
	void update(UserEntity user);
	/**
	 * 
	* @Title: delete 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(根据用户id删除) 
	* @param @param userId    设定文件 
	* @return void    返回类型 
	* @throws
	 */
	void delete(Long userId);
	/**
	 * 
	* @Title: deleteBatch 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(根据用户id数组批量删除) 
	* @param @param userId    设定文件 
	* @return void    返回类型 
	* @throws
	 */
	void deleteBatch(Long[] userId);
	/**
	 * 
	* @Title: queryByMobile 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(根据手机号查找) 
	* @param @param mobile
	* @param @return    设定文件 
	* @return UserEntity    返回类型 
	* @throws
	 */
	UserEntity queryByMobile(String mobile);
	/**
	 * 
	* @Title: login 
	* @author: wujie
	* @email: 602991693@qq.com
	* @Description: TODO(用户登录) 
	* @param @param mobile 手机号
	* @param @param password 密码
	* @param @return    设定文件 
	* @return long    返回类型 
	* @throws
	 */
	long login(String mobile,String password);
}
